Java零基础-单目运算符

单目运算符:++、–,下面以 ++ 为例进行分析

++ 运算符可以出现在变量前,也可以出现在变量后,无论是变量前还是变量后,只要 ++ 运算结束,该变量的值一定会自加 1

  1. ++ 出现在变量后:先做赋值运算,再对变量中保存的值进行自加 1
1
2
3
4
int a = 100;
int b = a++;
System.out.println(a); // 101
System.out.println(b); // 100
  1. ++ 出现在变量前:先进行自加 1 运算,再进行赋值操作
1
2
3
4
int m = 20;
int n = ++m;
System.out.println(m); // 21
System.out.println(n); // 21

注意:println 的特殊情况

1
2
3
4
5
int mm = 500;
System.out.println(mm); // 500
int e = 100;
System.out.println(e++); // 100
System.out.println(e); // 101

以上的结果是为啥呢??

因为 println 源码如下,x 赋值后,变成 int x = e++ ,先赋值再 + 1

1
2
3
4
5
6
public void println(int x) {
synchronized (this) {
print(x); // 打印x
newLine(); // 换行
}
}